{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Data science pipeline: pandas, seaborn, scikit-learn ([video #6](https://www.youtube.com/watch?v=3ZWuPVWq7p4&list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A&index=6))\n",
    "\n",
    "Created by [Data School](http://www.dataschool.io/). Watch all 9 videos on [YouTube](https://www.youtube.com/playlist?list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A). Download the notebooks from [GitHub](https://github.com/justmarkham/scikit-learn-videos).\n",
    "\n",
    "**Note:** This notebook uses Python 3.6 and scikit-learn 0.19.1. The original notebook (shown in the video) used Python 2.7 and scikit-learn 0.16, and can be downloaded from the [archive branch](https://github.com/justmarkham/scikit-learn-videos/tree/archive)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Agenda\n",
    "\n",
    "- How do I use the **pandas library** to read data into Python?\n",
    "- How do I use the **seaborn library** to visualize data?\n",
    "- What is **linear regression**, and how does it work?\n",
    "- How do I **train and interpret** a linear regression model in scikit-learn?\n",
    "- What are some **evaluation metrics** for regression problems?\n",
    "- How do I choose **which features to include** in my model?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Types of supervised learning\n",
    "\n",
    "- **Classification:** Predict a categorical response\n",
    "- **Regression:** Predict a continuous response"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Reading data using pandas\n",
    "\n",
    "**Pandas:** popular Python library for data exploration, manipulation, and analysis\n",
    "\n",
    "- Anaconda users: pandas is already installed\n",
    "- Other users: [installation instructions](http://pandas.pydata.org/pandas-docs/stable/install.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# conventional way to import pandas\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>TV</th>\n",
       "      <th>Radio</th>\n",
       "      <th>Newspaper</th>\n",
       "      <th>Sales</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>230.1</td>\n",
       "      <td>37.8</td>\n",
       "      <td>69.2</td>\n",
       "      <td>22.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>44.5</td>\n",
       "      <td>39.3</td>\n",
       "      <td>45.1</td>\n",
       "      <td>10.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>17.2</td>\n",
       "      <td>45.9</td>\n",
       "      <td>69.3</td>\n",
       "      <td>9.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>151.5</td>\n",
       "      <td>41.3</td>\n",
       "      <td>58.5</td>\n",
       "      <td>18.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>180.8</td>\n",
       "      <td>10.8</td>\n",
       "      <td>58.4</td>\n",
       "      <td>12.9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      TV  Radio  Newspaper  Sales\n",
       "1  230.1   37.8       69.2   22.1\n",
       "2   44.5   39.3       45.1   10.4\n",
       "3   17.2   45.9       69.3    9.3\n",
       "4  151.5   41.3       58.5   18.5\n",
       "5  180.8   10.8       58.4   12.9"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# read CSV file from the 'data' subdirectory using a relative path\n",
    "data = pd.read_csv('data/Advertising.csv', index_col=0)\n",
    "\n",
    "# display the first 5 rows\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Primary object types:\n",
    "\n",
    "- **DataFrame:** rows and columns (like a spreadsheet)\n",
    "- **Series:** a single column"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>TV</th>\n",
       "      <th>Radio</th>\n",
       "      <th>Newspaper</th>\n",
       "      <th>Sales</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>196</th>\n",
       "      <td>38.2</td>\n",
       "      <td>3.7</td>\n",
       "      <td>13.8</td>\n",
       "      <td>7.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>197</th>\n",
       "      <td>94.2</td>\n",
       "      <td>4.9</td>\n",
       "      <td>8.1</td>\n",
       "      <td>9.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>198</th>\n",
       "      <td>177.0</td>\n",
       "      <td>9.3</td>\n",
       "      <td>6.4</td>\n",
       "      <td>12.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>199</th>\n",
       "      <td>283.6</td>\n",
       "      <td>42.0</td>\n",
       "      <td>66.2</td>\n",
       "      <td>25.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>200</th>\n",
       "      <td>232.1</td>\n",
       "      <td>8.6</td>\n",
       "      <td>8.7</td>\n",
       "      <td>13.4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        TV  Radio  Newspaper  Sales\n",
       "196   38.2    3.7       13.8    7.6\n",
       "197   94.2    4.9        8.1    9.7\n",
       "198  177.0    9.3        6.4   12.8\n",
       "199  283.6   42.0       66.2   25.5\n",
       "200  232.1    8.6        8.7   13.4"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# display the last 5 rows\n",
    "data.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(200, 4)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check the shape of the DataFrame (rows, columns)\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What are the features?\n",
    "- **TV:** advertising dollars spent on TV for a single product in a given market (in thousands of dollars)\n",
    "- **Radio:** advertising dollars spent on Radio\n",
    "- **Newspaper:** advertising dollars spent on Newspaper\n",
    "\n",
    "What is the response?\n",
    "- **Sales:** sales of a single product in a given market (in thousands of items)\n",
    "\n",
    "What else do we know?\n",
    "- Because the response variable is continuous, this is a **regression** problem.\n",
    "- There are 200 **observations** (represented by the rows), and each observation is a single market."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualizing data using seaborn\n",
    "\n",
    "**Seaborn:** Python library for statistical data visualization built on top of Matplotlib\n",
    "\n",
    "- Anaconda users: run **`conda install seaborn`** from the command line\n",
    "- Other users: [installation instructions](http://seaborn.pydata.org/installing.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# conventional way to import seaborn\n",
    "import seaborn as sns\n",
    "\n",
    "# allow plots to appear within the notebook\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.PairGrid at 0x1a20378898>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABBMAAAHwCAYAAAD0LifWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl8G+d5L/rfYCPABVwkQiu10JZEW4ljO5LjxDYtybk5aRalaZvWOU3S3XJuT+O2p5/Tnraxa3W5TU6X657bTyJna5q2Vnqa01pOYicnkWTZjhVJsR3HsinLpiRTEkVwAbHOYAYz7/0DJE1QIIllBrPg980nHyYkBM4AmGdePu/7Po8khAARERERERERUaV8dh8AEREREREREbkLkwlEREREREREVBUmE4iIiIiIiIioKkwmEBEREREREVFVmEwgIiIiIiIioqowmUBEREREREREVWEygYiIiIiIiIiqwmQCEREREREREVWFyQQiIiIiIiIiqkrA7gOoxHvf+17xxBNP2H0YRERWkRrxSxhLicjjGhJLAcZTIvK8iuKpK1YmTExM2H0IRESux1hKRGQOxlMiIpckE4iIiIiIiIjIOZhMICIiIiIiIqKqMJlARERERERERFVhMoGIiIiIiIiIqsJkAhERERERERFVhckEIiIiIiIiIqoKkwlEREREREREVBUmE4iIiIiIiIioKkwmEBEREREREVFVmEwgIiIiIiIioqowmUBEREREREREVWEygYiIiIiIiIiqwmQCEREREREREVWFyQQiIiIiIiIiqgqTCURERERERERUFSYTiIiIiIiIiKgqTCYQERERERERUVWYTCAiIiIiIiKiqjCZQERERERERERVCdh9AEREdjg6FMeBY8MYSeTQ192KfYP92DUQs/uwiIiaBuMwOQU/i0S14coEImo6R4fiuP/QacTTCroiQcTTCu4/dBpHh+J2HxoRUVNgHCan4GeRqHZMJhBR0zlwbBhBv4TWUACSVPwa9Es4cGzY7kMjImoKjMPkFPwsEtWOyQQiajojiRwiQX/J9yJBPy4mcjYdERFRc2EcJqfgZ5GodkwmEFHT6etuhazpJd+TNR3ru1ttOiIioubCOExOwc8iUe2YTCCiprNvsB+aLpBTCxCi+FXTBfYN9tt9aERETYFxmJyCn0Wi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3j931q0Q9lddFdhzaKhWm0BE1JIYX4mISmOMJKJWU49lDssA/LMQIvP+fy+lfLxWbz48EUOnV8/7XqPMuiUiamaMr0REpTFGElGrqXkyQUo5BODmWr9vRqPPuiUialaMr0REpTFGElGraYvRkLk465aIqDoYX4mISmOMJKJW03bJBM66JSKqDsZXIqLSGCOJqNXUazRkXW0fDDNwExFVAeMrEVFpjJFE1ErarjKBiIiIiIiIiJaGyQQiIiIiIiIiKguTCURERERERERUFiYTiIiIiIiIiKgsTCYQERERERERUVmYTCAiIiIiIiKisjCZQERERERERERlYTKBiIiIiIiIiMrCZAIRERERERERlYXJBCIiIiIiIiIqC5MJRERERERERFQWJhOIiIiIiIiIqCxMJhARERERERFRWZhMICIiIiIiIqKyMJlARERERERERGVhMoGIiIiIiIiIysJkAhERERERERGVRav3BlTbwZMj2HNoCMMTMfR3+bBz2wC2D4brvVlERNREeC4honpg7CGiRtbSlQkHT45g1/4TGIkk0OnVMRJJYNf+Ezh4cqTem0ZERE2C5xIiqgfGHiJqdC2dTNhzaAi6KuBzaRDC/qqrAnsODdV704iIqEnwXEJE9cDYQ0SNrqWTCcMTMXh1Ne97Xl3FuYlYnbaIiIiaDc8lRFQPjD1E1OhaOpnQ3+VDPG3mfS+eNrG6y1enLSIiombDcwkR1QNjDxE1upZOJuzcNoC0KRFLGZDS/po2JXZuG6j3phERUZPguYSI6oGxh4gaXUsnE7YPhrH7rhsQDnowFU8jHPRg9103sAsuERE5xnMJEdUDYw8RNbqWHw25fTDMoEtEREvCcwkR1QNjDxE1spauTCAiIiIiIiKiymMygYiIiIiIiIjKwmQCEREREREREZWFyQQiIiIiIiIiKguTCURERERERERUFiYTiIiIiIiIiKgsTCYQERERERERUVmYTCAiIiIiIiKisjCZQERERERERERlYTKBiIiIiIiIiMrCZAIRERERERERlYXJBCIiIiIiIiIqC5MJRERERERERFQWJhOIiIiIiIiIqCxMJhARERERERFRWZhMICIiIiIiIqKyMJlARERERERERGXR6r0B1XDw5Aj2HBrC8EQM/V0+7Nw2gO2D4XpvFhEREdGi8NqGCnGfIKJ6a7nKhIMnR7Br/wmMRBLo9OoYiSSwa/8JHDw5Uu9NIyIiIiobr22oEPcJImoELZdM2HNoCLoq4HNpEML+qqsCew4N1XvTiIiIiMrGaxsqxH2CiBpByyUThidi8Opq3ve8uopzE7E6bRERERHR4vHahgpxnyCiRtByyYT+Lh/iaTPve/G0idVdvjptEREREdHi8dqGCnGfIKJG0HLJhJ3bBpA2JWIpA1LaX9OmxM5tA/XeNCIiIqKy8dqGCnGfIKJG0HLJhO2DYey+6waEgx5MxdMIBz3YfdcN7G5LRERETYnXNlSI+wQRNYKWHA25fTDMYEpEREQtg9c2VIj7BBHVW8tVJhARERERERFRdTGZQERERERERERlYTKBiIiIiIiIiMrCZAIRERERERERlYXJBCIiIiIiIiIqC5MJRERERERERFQWJhOIiIiIiIiIqCxMJhARERERERFRWZhMICIiIiIiIqKyMJlARERERERERGVhMoGIiIiIiIiIysJkAhERERERERGVhckEIiIiIiIiIioLkwlEREREREREVBYmE4iIiIiIiIioLEwmEBEREREREVFZmEwgIiIiIiIiorIwmUBEREREREREZWEygYiIiIiIiIjKIqSU9d6GBQkhrgB4ZRFP7QUwWuHNqSVuf31x++urnbZ/VEr5zmpuDLCkWAo0/+/DCf6MraMdfk7+jHPVJJYCbX1tmsGfo7Hw52gsrfBzOIqnTZFMWCwhxDEp5eZ6b8dicfvri9v//7d3/7F31fUdx5+vUX6UolSQGS1iqTaoKJQKpgiStSUKyOzQJtSQyRYSsw2HGpsNR0LQJUuWjQFGqEFkRaYFKeqQLJNfdjid/C5ttUU7MKOIFPlR1CGCvP3j87708vV+v7332+/3e+7nfF+P5OSe8znn3r4/93PPu5/v537Ouc1y/MOlbfXpxXVsj+lQT9exTm2pk+sxXFyP4dKWevTDlzmYmZmZmZmZ2UA8mGBmZmZmZmZmA2n7YMLlTQewmxx/sxx/sxz/cGlbfXpxHdtjOtTTdaxTW+rkegwX12O4tKUeu9TqeyaYmZmZmZmZ2cRr+8wEMzMzMzMzM5tgrRxMkHSSpAckbZV0btPx9EPSTyRtlLRe0t1ZdoCkmyX9OB9f1XScHZKulLRd0qausp6ThwFSAAALF0lEQVTxqvhstscGSQubi/ylWHvFf4GkR7IN1ks6pWvfpzL+ByS9t5mod5L0eknflrRZ0g8kfSzLq2iDMeKvog0k7SPpTkn3Z/yfzvJDJd2R7/+1kvbK8r1ze2vun9tk/IOoMZ/2Y5AcVqtB80SNBj0XayZpD0n3Sboxt9tYx6r6QoOoNZe2LY+04TySNFvSWklbsl2OrbE9JH0iP1ObJK3JfD707TFI/0HF0PS/J0PrBhMk7QFcCpwMvBX4kKS3NhtV3xZHxIKunxI5F7g1IuYDt+b2sFgNjPzt0dHiPRmYn8tHgFVTFONYVvP78QNclG2wICL+AyA/PyuAw/M5l+XnrEkvAJ+MiLcAi4CzM85a2mC0+KGONngOWBIRRwILgJMkLQL+kRL/fOAp4Kw8/izgqYh4E3BRHjf0Ks+nu7Ka/nNYrQbNEzUa9Fys2ceAzV3bbawj1NUX6kvlubRteaQN59ElwH9GxJuBIyn1qao9JM0BzgGOjoi3AXtQ+nk1tMdq6v4baEK1bjABeCewNSIejIjfANcAyxqOabyWAVfl+lXAnzQYy8tExO3AkyOKR4t3GfClKL4PzJb02qmJtLdR4h/NMuCaiHguIh4CtlI+Z42JiEcj4t5c/wXlP5I5VNIGY8Q/mqFqg3wff5mbe+YSwBJgbZaPfP877bIWWCpJUxTu7mhTPn2ZAXNYlcaRJ6ozjnOxSpIOBt4HXJHbomV1HEMbPq/V5tI25ZE2nEeSXgmcAHwRICJ+ExFPU2F7ADOAmZJmAPsCj1JBe9T+N9BEa+Ngwhzg4a7tbYz9R8qwCOAmSfdI+kiWvSYiHoWSzIE/bCy6/owWb01t8tGchnRl1xSxoY5fZcr8UcAdVNgGI+KHStogp0quB7YDNwP/CzwdES/kId0xvhR/7t8BHDi1EY/L0L3vk6y2nNu3PvNElQY8F2t1MfA3wIu5fSDtqyO0oy/USytyaQvySBvOo3nA48C/5uUaV0iaRWXtERGPAP8M/B9lEGEHcA/1tUdHdf3vidLGwYRe3/bV8JMVx0XEQsp0mLMlndB0QBOoljZZBbyRMlX2UeDCLB/a+CXtB1wPfDwinhnr0B5ljdehR/zVtEFE/DYiFgAHU751ekuvw/Jx6OLvU61xW5cB8kSVBjwXqyPpVGB7RNzTXdzj0Grr2KWtfaHq26v2PNKi82gGsBBYFRFHAb9iyC9p6CW/LFoGHAq8DphFOe9HGvb22JUaP2MDaeNgwjbg9V3bBwM/bSiWvkXET/NxO/B1Sofosc5UmHzc3lyEfRkt3iraJCIey07pi8AX2DmNfijjl7Qn5T/2L0fE17K4mjboFX9tbQCQ0wvXUa4lnZ3T9eDlMb4Uf+7fn/4vs2nS0L7vk6S2nLtLA+aJqvV5LtboOOD9kn5CmR6/hPINa5vqCLSmL9RL1bm0JXmkLefRNmBbRHRmc66lDC7U1h4nAg9FxOMR8TzwNeBd1NceHdX0vydaGwcT7gLm591A96LczOOGhmMak6RZkl7RWQfeA2yixH1mHnYm8O/NRNi30eK9Afhw3tF0EbCjMxVomIy4huk0ShtAiX+Fyh35D6XcROXOqY6vW17n90Vgc0T8S9euKtpgtPhraQNJB0maneszKf8pbga+DSzPw0a+/512WQ7cFhE1jExXl093U205d0zjyBPVGce5WJ2I+FREHBwRcynn4G0RcQYtqiO0qi/US7W5tC15pC3nUUT8DHhY0mFZtBT4IZW1B+XyhkWS9s3PWKceVbVHlyr635MiIlq3AKcAP6JcN3le0/H0Ee884P5cftCJmXIt163Aj/PxgKZj7Yp5DWUa+vOUUbezRouXMsXn0myPjZQ7tw5j/FdnfBsoJ/9ru44/L+N/ADh5COI/njJNagOwPpdTammDMeKvog2AI4D7Ms5NwPlZPo8yyLEVuA7YO8v3ye2tuX9e05+hAepaVT4doF5957Bal0HzRI3LoOdi7QvwR8CNbawjFfaFBqxflbm0jXmk9vOIcino3dkm3wBeVWN7AJ8GtmTuvhrYu4b2GKT/wJD1vydjUVbUzMzMzMzMzKwvbbzMwczMzMzMzMwmkQcTzMzMzMzMzGwgHkwwMzMzMzMzs4F4MMHMzMzMzMzMBuLBBDMzMzMzMzMbiAcTbNqSdKCk9bn8TNIjXdvvHXHsxyVd1lSsZmZNk/TbzI+bJH1T0uwBn3+BpJW5/hlJJ05OpGZmU0NSSLqwa3ulpAsaDMlsSnkwwaatiHgiIhZExALg88BFub4KWDHi8BWU35U1M5uuns2c+TbgSeDs8b5QRJwfEbdMXGhmZo14DviApFc3HchEkjSj6RisDh5MMPt9a4FTJe0NIGku8DrgvxuMycxsmPwPMAdA0n6SbpV0r6SNkpZ1DpJ0nqQHJN0CHNZVvlrS8lxfKum+fO6VndxrZlaBF4DLgU+M3CHpIEnXS7orl+OyfKOk2SqekPThLL9a0omSDpd0Z84E2yBpvqS5krZIuirL1kraN593fr7+JkmXS1KWr5N0saTv5b53ZvmszLV3Ze5dluV/Juk6Sd8EbpqSd8+q58EEsxEi4gngTuCkLFoBXBsR0VxUZmbDQdIewFLghiz6NXBaRCwEFgMXZif5HZT8eRTwAeCYHq+1D7AaOD0i3g7MAP5y0ithZjZxLgXOkLT/iPJLKLNejwE+CFyR5d8FjgMOBx4E3p3li4DvA38BXJKzZY8GtuX+w4DLI+II4Bngr7L8cxFxTM4amwmc2hXDrIh4Vx57ZZadB9yWcS0G/knSrNx3LHBmRCwZ31th040HE8x6W8POSx18iYOZGcyUtB54AjgAuDnLBfyDpA3ALZQZC6+hdJC/HhH/HxHPsHPwodthwEMR8aPcvgo4YRLrYGY2oTK/fQk4Z8SuE4HPZd68AXilpFcA36HkuRMol9a+XdIc4MmI+CVl5tffSfpb4A0R8Wy+3sMR8d1c/zfg+FxfLOkOSRuBJZRBio41GePt+e/PBt4DnJtxrQP2AQ7J42+OiCd37x2x6cSDCWa9fQNYKmkhMDMi7m06IDOzhj2b35S9AdiLnfdMOAM4CHhH7n+M0jkF2NWMLk1GoGZmU+xi4CxgVlfZHwDHdu7PFRFzIuIXwO2UwdZ3U/6YfxxYThlkICK+ArwfeBb4lqTOLIGR+TRydtdlwPKc3fUFdubfns+h5N0PdsV1SERszv2/Gl/1bbryYIJZDzkyvI4yJcyzEszMUkTsoHwDt1LSnsD+wPaIeF7SYspgA5QO82mSZua3cX/c4+W2AHMlvSm3/xT4r8mtgZnZxMpv879KGVDouAn4aGdD0oI89mHg1cD8iHiQck+uleRggqR5wIMR8VnKjIYj8iUOkXRsrn8on9cZOPi5pP0ogxLdTs/XPB7Ykfn7W8Bfd91b4ajdq71NZx5MMBvdGuBI4JqmAzEzGyYRcR9wP+UysC8DR0u6mzJLYUsecy9wLbAeuJ7sKI94nV8Dfw5cl1N0X6T8uo6ZWW0upAwSdJxDyY0bJP2Qci+EjjuAzuVd36FcHta50ffpwKa8DOHNlEsoADYDZ+YlZQcAqyLiacpshI2UWbV3jYjpKUnfo+TVzkDH3wN7Ahskbcpts3GR7ylnZmZmZmY2nPKXxW7Mmyz2+5x1wMqIuHuSwjLzzAQzMzMzMzMzG4xnJpiZmZmZmZnZQDwzwczMzMzMzMwG4sEEMzMzMzMzMxuIBxPMzMzMzMzMbCAeTDAzMzMzMzOzgXgwwczMzMzMzMwG4sEEMzMzMzMzMxvI7wCrfC0A9c63YgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1058.4x504 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# visualize the relationship between the features and the response using scatterplots\n",
    "sns.pairplot(data, x_vars=['TV','Radio','Newspaper'], y_vars='Sales', size=7, aspect=0.7, kind='reg')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Linear regression\n",
    "\n",
    "**Pros:** fast, no tuning required, highly interpretable, well-understood\n",
    "\n",
    "**Cons:** unlikely to produce the best predictive accuracy (presumes a linear relationship between the features and response)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Form of linear regression\n",
    "\n",
    "$y = \\beta_0 + \\beta_1x_1 + \\beta_2x_2 + ... + \\beta_nx_n$\n",
    "\n",
    "- $y$ is the response\n",
    "- $\\beta_0$ is the intercept\n",
    "- $\\beta_1$ is the coefficient for $x_1$ (the first feature)\n",
    "- $\\beta_n$ is the coefficient for $x_n$ (the nth feature)\n",
    "\n",
    "In this case:\n",
    "\n",
    "$y = \\beta_0 + \\beta_1 \\times TV + \\beta_2 \\times Radio + \\beta_3 \\times Newspaper$\n",
    "\n",
    "The $\\beta$ values are called the **model coefficients**. These values are \"learned\" during the model fitting step using the \"least squares\" criterion. Then, the fitted model can be used to make predictions!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preparing X and y using pandas\n",
    "\n",
    "- scikit-learn expects X (feature matrix) and y (response vector) to be NumPy arrays.\n",
    "- However, pandas is built on top of NumPy.\n",
    "- Thus, X can be a pandas DataFrame and y can be a pandas Series!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>TV</th>\n",
       "      <th>Radio</th>\n",
       "      <th>Newspaper</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>230.1</td>\n",
       "      <td>37.8</td>\n",
       "      <td>69.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>44.5</td>\n",
       "      <td>39.3</td>\n",
       "      <td>45.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>17.2</td>\n",
       "      <td>45.9</td>\n",
       "      <td>69.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>151.5</td>\n",
       "      <td>41.3</td>\n",
       "      <td>58.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>180.8</td>\n",
       "      <td>10.8</td>\n",
       "      <td>58.4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      TV  Radio  Newspaper\n",
       "1  230.1   37.8       69.2\n",
       "2   44.5   39.3       45.1\n",
       "3   17.2   45.9       69.3\n",
       "4  151.5   41.3       58.5\n",
       "5  180.8   10.8       58.4"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# create a Python list of feature names\n",
    "feature_cols = ['TV', 'Radio', 'Newspaper']\n",
    "\n",
    "# use the list to select a subset of the original DataFrame\n",
    "X = data[feature_cols]\n",
    "\n",
    "# equivalent command to do this in one line\n",
    "X = data[['TV', 'Radio', 'Newspaper']]\n",
    "\n",
    "# print the first 5 rows\n",
    "X.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "(200, 3)\n"
     ]
    }
   ],
   "source": [
    "# check the type and shape of X\n",
    "print(type(X))\n",
    "print(X.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1    22.1\n",
       "2    10.4\n",
       "3     9.3\n",
       "4    18.5\n",
       "5    12.9\n",
       "Name: Sales, dtype: float64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# select a Series from the DataFrame\n",
    "y = data['Sales']\n",
    "\n",
    "# equivalent command that works if there are no spaces in the column name\n",
    "y = data.Sales\n",
    "\n",
    "# print the first 5 values\n",
    "y.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.series.Series'>\n",
      "(200,)\n"
     ]
    }
   ],
   "source": [
    "# check the type and shape of y\n",
    "print(type(y))\n",
    "print(y.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Splitting X and y into training and testing sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(150, 3)\n",
      "(150,)\n",
      "(50, 3)\n",
      "(50,)\n"
     ]
    }
   ],
   "source": [
    "# default split is 75% for training and 25% for testing\n",
    "print(X_train.shape)\n",
    "print(y_train.shape)\n",
    "print(X_test.shape)\n",
    "print(y_test.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Linear regression in scikit-learn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# import model\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "# instantiate\n",
    "linreg = LinearRegression()\n",
    "\n",
    "# fit the model to the training data (learn the coefficients)\n",
    "linreg.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Interpreting model coefficients"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.8769666223179318\n",
      "[0.04656457 0.17915812 0.00345046]\n"
     ]
    }
   ],
   "source": [
    "# print the intercept and coefficients\n",
    "print(linreg.intercept_)\n",
    "print(linreg.coef_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('TV', 0.04656456787415029),\n",
       " ('Radio', 0.17915812245088839),\n",
       " ('Newspaper', 0.003450464711180378)]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# pair the feature names with the coefficients\n",
    "list(zip(feature_cols, linreg.coef_))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$y = 2.88 + 0.0466 \\times TV + 0.179 \\times Radio + 0.00345 \\times Newspaper$$\n",
    "\n",
    "How do we interpret the **TV coefficient** (0.0466)?\n",
    "\n",
    "- For a given amount of Radio and Newspaper ad spending, **a \"unit\" increase in TV ad spending** is associated with a **0.0466 \"unit\" increase in Sales**.\n",
    "- Or more clearly: For a given amount of Radio and Newspaper ad spending, **an additional $1,000 spent on TV ads** is associated with an **increase in sales of 46.6 items**.\n",
    "\n",
    "Important notes:\n",
    "\n",
    "- This is a statement of **association**, not **causation**.\n",
    "- If an increase in TV ad spending was associated with a **decrease** in sales, $\\beta_1$ would be **negative**."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Making predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# make predictions on the testing set\n",
    "y_pred = linreg.predict(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We need an **evaluation metric** in order to compare our predictions with the actual values!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Model evaluation metrics for regression\n",
    "\n",
    "Evaluation metrics for classification problems, such as **accuracy**, are not useful for regression problems. Instead, we need evaluation metrics designed for comparing continuous values.\n",
    "\n",
    "Let's create some example numeric predictions, and calculate **three common evaluation metrics** for regression problems:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# define true and predicted response values\n",
    "true = [100, 50, 30, 20]\n",
    "pred = [90, 50, 50, 30]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Mean Absolute Error** (MAE) is the mean of the absolute value of the errors:\n",
    "\n",
    "$$\\frac 1n\\sum_{i=1}^n|y_i-\\hat{y}_i|$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10.0\n",
      "10.0\n"
     ]
    }
   ],
   "source": [
    "# calculate MAE by hand\n",
    "print((10 + 0 + 20 + 10)/4.)\n",
    "\n",
    "# calculate MAE using scikit-learn\n",
    "from sklearn import metrics\n",
    "print(metrics.mean_absolute_error(true, pred))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Mean Squared Error** (MSE) is the mean of the squared errors:\n",
    "\n",
    "$$\\frac 1n\\sum_{i=1}^n(y_i-\\hat{y}_i)^2$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "150.0\n",
      "150.0\n"
     ]
    }
   ],
   "source": [
    "# calculate MSE by hand\n",
    "print((10**2 + 0**2 + 20**2 + 10**2)/4.)\n",
    "\n",
    "# calculate MSE using scikit-learn\n",
    "print(metrics.mean_squared_error(true, pred))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Root Mean Squared Error** (RMSE) is the square root of the mean of the squared errors:\n",
    "\n",
    "$$\\sqrt{\\frac 1n\\sum_{i=1}^n(y_i-\\hat{y}_i)^2}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "12.24744871391589\n",
      "12.24744871391589\n"
     ]
    }
   ],
   "source": [
    "# calculate RMSE by hand\n",
    "import numpy as np\n",
    "print(np.sqrt((10**2 + 0**2 + 20**2 + 10**2)/4.))\n",
    "\n",
    "# calculate RMSE using scikit-learn\n",
    "print(np.sqrt(metrics.mean_squared_error(true, pred)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Comparing these metrics:\n",
    "\n",
    "- **MAE** is the easiest to understand, because it's the average error.\n",
    "- **MSE** is more popular than MAE, because MSE \"punishes\" larger errors.\n",
    "- **RMSE** is even more popular than MSE, because RMSE is interpretable in the \"y\" units."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Computing the RMSE for our Sales predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.404651423032895\n"
     ]
    }
   ],
   "source": [
    "print(np.sqrt(metrics.mean_squared_error(y_test, y_pred)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Feature selection\n",
    "\n",
    "Does **Newspaper** \"belong\" in our model? In other words, does it improve the quality of our predictions?\n",
    "\n",
    "Let's **remove it** from the model and check the RMSE!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.3879034699382886\n"
     ]
    }
   ],
   "source": [
    "# create a Python list of feature names\n",
    "feature_cols = ['TV', 'Radio']\n",
    "\n",
    "# use the list to select a subset of the original DataFrame\n",
    "X = data[feature_cols]\n",
    "\n",
    "# select a Series from the DataFrame\n",
    "y = data.Sales\n",
    "\n",
    "# split into training and testing sets\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1)\n",
    "\n",
    "# fit the model to the training data (learn the coefficients)\n",
    "linreg.fit(X_train, y_train)\n",
    "\n",
    "# make predictions on the testing set\n",
    "y_pred = linreg.predict(X_test)\n",
    "\n",
    "# compute the RMSE of our predictions\n",
    "print(np.sqrt(metrics.mean_squared_error(y_test, y_pred)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The RMSE **decreased** when we removed Newspaper from the model. (Error is something we want to minimize, so **a lower number for RMSE is better**.) Thus, it is unlikely that this feature is useful for predicting Sales, and should be removed from the model."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Resources\n",
    "\n",
    "Linear regression:\n",
    "\n",
    "- [Longer notebook on linear regression](https://github.com/justmarkham/DAT5/blob/master/notebooks/09_linear_regression.ipynb) by me\n",
    "- Chapter 3 of [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/) and [related videos](http://www.dataschool.io/15-hours-of-expert-machine-learning-videos/) by Hastie and Tibshirani (Stanford)\n",
    "- [Quick reference guide to applying and interpreting linear regression](http://www.dataschool.io/applying-and-interpreting-linear-regression/) by me\n",
    "- [Introduction to linear regression](http://people.duke.edu/~rnau/regintro.htm) by Robert Nau (Duke)\n",
    "\n",
    "Pandas:\n",
    "\n",
    "- [pandas Q&A video series](https://www.dataschool.io/easier-data-analysis-with-pandas/) by me\n",
    "- [Three-part pandas tutorial](http://www.gregreda.com/2013/10/26/intro-to-pandas-data-structures/) by Greg Reda\n",
    "- [read_csv](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html) and [read_table](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_table.html) documentation\n",
    "\n",
    "Seaborn:\n",
    "\n",
    "- [Official seaborn tutorial](http://seaborn.pydata.org/tutorial.html)\n",
    "- [Example gallery](http://seaborn.pydata.org/examples/index.html)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Comments or Questions?\n",
    "\n",
    "- Email: <kevin@dataschool.io>\n",
    "- Website: http://dataschool.io\n",
    "- Twitter: [@justmarkham](https://twitter.com/justmarkham)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>\n",
       "    @font-face {\n",
       "        font-family: \"Computer Modern\";\n",
       "        src: url('http://mirrors.ctan.org/fonts/cm-unicode/fonts/otf/cmunss.otf');\n",
       "    }\n",
       "    div.cell{\n",
       "        width: 90%;\n",
       "/*        margin-left:auto;*/\n",
       "/*        margin-right:auto;*/\n",
       "    }\n",
       "    ul {\n",
       "        line-height: 145%;\n",
       "        font-size: 90%;\n",
       "    }\n",
       "    li {\n",
       "        margin-bottom: 1em;\n",
       "    }\n",
       "    h1 {\n",
       "        font-family: Helvetica, serif;\n",
       "    }\n",
       "    h4{\n",
       "        margin-top: 12px;\n",
       "        margin-bottom: 3px;\n",
       "       }\n",
       "    div.text_cell_render{\n",
       "        font-family: Computer Modern, \"Helvetica Neue\", Arial, Helvetica, Geneva, sans-serif;\n",
       "        line-height: 145%;\n",
       "        font-size: 130%;\n",
       "        width: 90%;\n",
       "        margin-left:auto;\n",
       "        margin-right:auto;\n",
       "    }\n",
       "    .CodeMirror{\n",
       "            font-family: \"Source Code Pro\", source-code-pro,Consolas, monospace;\n",
       "    }\n",
       "/*    .prompt{\n",
       "        display: None;\n",
       "    }*/\n",
       "    .text_cell_render h5 {\n",
       "        font-weight: 300;\n",
       "        font-size: 16pt;\n",
       "        color: #4057A1;\n",
       "        font-style: italic;\n",
       "        margin-bottom: 0.5em;\n",
       "        margin-top: 0.5em;\n",
       "        display: block;\n",
       "    }\n",
       "\n",
       "    .warning{\n",
       "        color: rgb( 240, 20, 20 )\n",
       "        }\n",
       "</style>\n",
       "<script>\n",
       "    MathJax.Hub.Config({\n",
       "                        TeX: {\n",
       "                           extensions: [\"AMSmath.js\"]\n",
       "                           },\n",
       "                tex2jax: {\n",
       "                    inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
       "                    displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
       "                },\n",
       "                displayAlign: 'center', // Change this to 'center' to center equations.\n",
       "                \"HTML-CSS\": {\n",
       "                    styles: {'.MathJax_Display': {\"margin\": 4}}\n",
       "                }\n",
       "        });\n",
       "</script>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.core.display import HTML\n",
    "def css_styling():\n",
    "    styles = open(\"styles/custom.css\", \"r\").read()\n",
    "    return HTML(styles)\n",
    "css_styling()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
